// 基于 uni.request() 封装网络请求
// 1.支持设置 BASE_URL => 后台请求基地址
// 2.支持统一添加请求头等
const BASE_URL = 'https://api-hmugo-web.itheima.net'
const request = async({ url, method, data, header = {} }) => {
  /**
   * 封装思路：
   * 1、发送请求之前：显示 loading 效果，统一添加 token 以及请求头
   * 2、使用 uni.request() 执行请求的发送
   * 3、判断请求是否成功
   */
  // 添加loading效果
  uni.showLoading({
    title: '数据加载中...',
    mask: true
  })

  // 从本地获取 token
  const token = uni.getStorageSync('fly-shopping-token')

  console.log('token 为：', token)
    // 如果有 token ，添加请求头
  if (token) {
    header.Authorization = token
  }

  try {
    const res = await uni.request({
      url: BASE_URL + url,
      method,
      data,
      header
    })
    return {
      msg: res.data.meta,
      data: res.data.message
    }
  } catch (error) {
    return Promise.reject(error)
  } finally {
    // 关闭 loading
    uni.hideLoading()
  }
}

export default request
